/*
 * @Descripttion: 国际化
 * @Author: pujianguo
 * @Date: 2021-09-17 11:17:44
 */
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import numberFormats from './numberFormats'

// 引入i18n国际化插件
Vue.use(VueI18n)

// 注册i18n实例并引入语言文件
const i18n = new VueI18n({
  locale: 'zh',
  numberFormats,
  messages: {
    zh: getContextContent(require.context('./zh', false, /\.js$/)),
    en: getContextContent(require.context('./en', false, /\.js$/)),
  },
})
export default i18n

//  require.context()第一个参不能是变量
function getContextContent (modules) {
  const config = {}
  modules.keys().forEach(filename => {
    const content = modules(filename).default
    const module = filename.replace(/^\.\//, '').replace(/\.js$/, '')
    config[module] = content
  })
  return config
}
